home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- **
- ** ShowLNX (c) 2002 by Michal Pasiecznik (pasiussg@wp.pl).
- ** This program is freeware. If you made any changes, please refer to
- ** in this source.
- **
- ** Author : Michal Pasiecznik
- ** Data : February 14, 2002
- ** Version : 0.7
- **
- ** Description : This program displays info about header of the .lnx
- ** cartridge file, used by the Atari Lynx emulators.
- **
- *****************************************************************************/
-
- #include <stdio.h>
- #include <string.h>
-
- struct
- {
- unsigned char magic[4];
- unsigned char bank0a;
- unsigned char bank0b;
- unsigned char bank1a;
- unsigned char bank1b;
- unsigned char versiona;
- unsigned char versionb;
- unsigned char cartname[32];
- unsigned char manufname[16];
- unsigned char rotation;
- }header;
-
- int main(int argc, char *argv[])
- {
-
- FILE *plik;
- unsigned short bank0,bank1,version;
- unsigned int lenght;
-
- printf("\nShowLNX v0.7 by Michal Pasiecznik (pasiussg@wp.pl)\n");
-
- if(argc==1)
- {
- printf("\nUsage: ShowLNX filename[.lnx]\n\n");
- return(0);
- }
-
- if(argc>2)
- {
- printf("\nWrong number of arguments!\n\n");
- return(0);
- }
-
- if(strstr(argv[1],".lnx")==NULL)
- strcat(argv[1],".lnx");
-
- if((plik=fopen(argv[1],"rb"))==NULL)
- {
- printf("\nNo such filename!\n\n");
- fclose(plik);
- return(0);
- }
-
- fread(&header,sizeof(header),1,plik);
-
- if(strcmp(header.magic,"LYNX")!=0)
- {
- printf("\nThis is not a *.lnx file!\n\n");
- return(0);
- }
-
- bank0=header.bank0b*256+header.bank0a;
- bank1=header.bank1b*256+header.bank1a;
- lenght=(bank0+bank1)*256;
- version=header.versionb*256+header.versiona;
-
- fclose(plik);
-
- printf("\nCartname: %s",header.cartname);
- printf("\nManufacturer: %s",header.manufname);
- printf("\nLenght: %d",lenght);
- printf("\nBank0: %d",bank0);
- printf("\nBank1: %d",bank1);
- printf("\nRotation: ");
-
- if(header.rotation==0)
- printf("none");
- else
- if(header.rotation==1)
- printf("left");
- else
- if(header.rotation==2)
- printf("right");
- else
- printf("???");
-
- printf("\nType: %s",header.magic);
- printf("\nVersion: %d\n\n",version);
-
- return(1);
-
- }
-